package com.school.system.repository;

import com.school.system.entity.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 学生Repository接口
 * 
 * @author 鹿与兔
 * @since 2025-05-22
 */
@Repository
public interface StudentRepository extends JpaRepository<Student, Long> {

    /**
     * 根据学号查找学生
     */
    Student findByStudentNo(String studentNo);

    /**
     * 根据班级ID查找学生列表
     */
    List<Student> findByClassId(Long classId);

    /**
     * 根据姓名模糊查询学生
     */
    @Query("SELECT s FROM Student s WHERE s.name LIKE %:name%")
    List<Student> findByNameContaining(@Param("name") String name);

    /**
     * 根据状态查找学生
     */
    List<Student> findByStatus(Integer status);
}
